package com.css.fxfzaqbz.modules.data.service;

import com.css.fxfzaqbz.base.response.RestResponse;
import com.css.fxfzaqbz.modules.assess1.entity.LittleReport;
import com.css.fxfzaqbz.modules.assess1.vo.MeargeReportVO;
import com.css.fxfzaqbz.modules.assess1.vo.QueryVO;
import com.css.fxfzaqbz.modules.data.entity.Report;
import com.css.fxfzaqbz.modules.data.queryParams.ActMap;
import com.css.fxfzaqbz.modules.data.queryParams.ActReport;
import com.css.fxfzaqbz.modules.data.vo.ExpertVo;
import com.css.fxfzaqbz.modules.data.vo.HistoryReportVo;
import com.css.fxfzaqbz.modules.port.entity.ReportVO;
import com.css.fxfzaqbz.modules.port.param.ReportPortParam;

import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public interface ReportService {


    Report saveReport(Report report) throws Exception;

    List<Report> getAllReportById(String id);

    Report getReportById(String id);

    void delReports(List<String> ids);

    Report updateReport(Report report);

    Map<String, Object> getActReport(ActReport actReport);

    Map<String, Object> getLoginPersonInfo();

    Map<String, Object> getActMap(ActMap actMap);


    String getCode(Report report);

    Report getReportByFC(Report report);

    ArrayList<HistoryReportVo> getHistory(Report report);

    List<Report> getAllReport(Report report);

    Object updateReportStatus(Report report);

    List<ExpertVo> getAllExpert(Report report);

    void submitSh(String srId);

    List<String> getAttachIds(String srId);

    void uploadYiJian(Report report);

    void reUpload(Report report);

    Report getReportByIaId(String id);

    RestResponse createReport(com.css.fxfzaqbz.modules.assess1.vo.ReportVO reportVO, HttpServletResponse response)throws Exception;

    List<ReportVO> getReportPort();

    RestResponse mergeReport(List<LittleReport> littleReports, HttpServletResponse response);
}
